Description of the Font-Converter

Christoph Pagalies Markus Fritze

15.07.1990

Note:

This is just a quick-and-dirty translation of the German documentation. I did not have the time to check the spelling or the style (which is the result of just a few years of English at school), so I beg your pardon for all mistakes. But I hope it will be useful for non-German speaking owners of the converter nevertheless.

1 What should I do with such a program?

As a TEX-User I often looked jealously at all those DTP-programs for which lots of fonts are available. I know, you should not use too many different fonts in a single text, but it would be nice to use another font than Computer Modern Roman…

Another problem arose when I tried to design a telephone for my letter head. Maybe I am supported by if I create a whole font family with similar characters — but I just wanted to make a single character and had great difficulty to do so (I have to admit that I am the opposite of a -wizard).

So I decided to write a converter. Calamus seemed to be a good source for fonts: There are already a lot of Calamus-fonts and they are vector fonts. Additionally Calamus supports just very simple commands to store its font information:

You can move the starting point, draw a line or a Bézier cubic — I said to myself: “ s drawing methods are really superior to this.”

Now you are holding the result of my consideration in your very hands. It allows you to create characters for TEX with Didot or the DMC font editor and to convert it to . You can even convert a whole Calamus font.

After the program has been finished, I thought there might be other people who would like to convert fonts, so I decided to release it as shareware.

2 What is Shareware?

Shareware means everyone is free to copy the program any way he likes — but everyone who uses it regulary or professionally oughts to send some money to the authors (As a regard for their work).

• Please copy all the files included with the converter!

• If you happen to like it, please send 20 DM (a little bit more from foreign countries) to:

Σ-soft z. Hd. Christoph Pagalies Am Schulwald 24b 2000 Norderstedt Fed. Rep. of Germany

In return you will have the following advantages:

– You will get the latest version of the converter with your personal serial number.

– If you find a bug in the converter, we will try to fix it. Please send us a detailed description how to reproduce it and your program disk (and enclose a stamped envelope (as far as possible)).

– The shareware version has two little restrictions: You can only convert fonts with serial number zero (unprotected fonts). This is the case if you can load the font in question by different Calamus versions. If you have bought a professional font, it is encoded with your serial number of Calamus. The second is that there is a maximum of ten ligtable entries. This is not important if you want to convert just a few characters or just test the converter; but it is when you want to convert large fonts. But you can pay your shareware fee and you’ll get a converter which can process such fonts, too.

3 And how does it work?

First you have to load the converter (what a surprise). It will ask you via a file-selector for a font-batch-file (Extension .FBT). Let’s suppose we do not have one — so we click on “CANCEL”. It will ask you for a Calamus-font instead (Extension .CFN). Finally, you will see the file-selector again: Now you are asked for the target file (Extension .MF).

The font will be loaded and converted internally. On the screen you will see several lines belonging to the actual fonts. They are used to calculate the font height. Now you can edit all characters: Press a key and the corresponding character will be shown. It will be displayed with two different line styles:

• A continuous line surrounds solid (filled) parts — they will be converted into a “fill” command.

• A dotted line surrounds parts that should be erased — they represent an “unfill” command.

An example: The letter “�”. The first line creates the outer part using fill, this looks like this: �. The inner part (�) will be erased by an unfill command, et voilà: �.

This looks correct, but it does not work with other characters. E. g. the converter will create an � instead of an �, because the dot is deleted (not set). In this case you will have to correct it manually: Type �, then you will see, that the converter is going to erase the dot. You can toggle its curve by pressing the corresponding function key. F1 means the first curve etc.

When you have finished, press ESC. The converter asks you whether to convert the font or not, and if it should create a font batch file.

During the conversion a ligtable will be created; it contains the biggest deviations. In -versions below 2.7 there is a restriction to the size of the ligtable; let’s wait until the next update!

The converted .MF-file can be compiled with , no further include files or such are necessary.

4 What is a font batch file good for?

When the converter has finished converting a font, it offers you to write a font batch file. It looks like this:

This is a font batch file for the Calamus Font Converter
General settings:
DEBUG=FALSE
CORRECT=TRUE
FLOAT=1
LIGTABLE=256
SIZE=10
QUAD=18
SPACE=5
STRETCH=2
SHRINK=2
SLANT=0
EXTRA=5
INTER LETTER SPACE=5
SCALE_FACTOR=AUTO
CALAMUS FONT=D:\SOUV5ME.CFN
METAFONT FILE=D:\SOUV5ME.MF
Font conversion data:
A="A"  (+---------)
B="B"  (+---------)
C="C"  (+---------)
D="D"  (+---------)

You can change these settings with the help of any text editor.

If you want to convert the font more than once (e. g. if you want to change something) you can do it by simply selecting this file in the first file selector. If you want to change a similar font (e. g. another font of the same family), you can reuse the old font batch file, perhaps you will have to make small adjustments.

And what does this stuff mean? Every line that does not contain a “=”-character is treated as a comment. All other lines define variables.

Some of them are handed over to without any changes:

SIZE font size
QUAD font quad
SPACE font normal space
STRETCH font normal stretch
SHRINK font normal shrink
SLANT font slant
EXTRA font extra space

Others are used by the converter:

If DEBUG is set to TRUE, the converter will insert a “screenstrokes; showit;”, so you can watch while compiling your font.

FLOAT defines the number of digits after the decimal point. The more digits you have, the more precise your -font will look like the Calamus-font (which is extremely important when producing characters that are larger than a page and you are looking at it with something having a higher frequency than visible light), but your .MF-files will grow enormously.

INTER LETTER SPACE is the variable “i”, that is added to the character width. SCALE FACTOR influences the “font x height”. If you set the FACTOR to AUTO, it will be calculated out of the character dimensions of the Calamus-font.

LIGTABLE limits the number of ligtable entries to the given number. In the actual -version it is set to 256. In the shareware version the limit cannot exceed 10 — so you cannot convert bigger fonts with it.

Since 256 is not enough in some fonts (especially if most of the characters are slanted very much), there is a CORRECTION factor. If you set it to TRUE, the character width (which is defined by ’s begincharcommand, and which is passed to TEX) will be decreased. The following characters will jump to the left without using another ligtable entry. If you set CORRECTION to AUTO, it will be decreased even more, so that some characters can reach into the character in front of them (in extreme situations); on an average they will fit better. But there is a disadvantage using CORRECTION: The correction widths are calculated by comparing all characters of one font to each other. If you combine them with characters of other fonts (in TEX), this won’t work.

Last not least there are CALAMUS FONT and METAFONT FILE, they contain the name and path of these two files, so you do not have to enter those every time you want to convert them again.

Below there is the section “Font Conversion Data”:

It contains every character in the font. On the left you can find the - -character, on the right there is the corresponding Calamus-character. You can exchange some characters by switching these entries — this is done with the German character “ß” by default because in Calamus it has another position than in . If you find it difficult to type a specific character, you can enter its ASCII-value instead (decimal or in hex with a preceeding $).

To the right of this definition there may be up to 40 “+” or “−”, which represent the function keys. Plus means fill, minus means unfill.

I hope you enjoy using the converter. If you want to use it regularly or use a converted font regularly, you should have another look at section 2. If there are still any questions, you can send me an E-Mail to the BBS Maus Hamburg 2, Phone number: 040/656 40 31 (from Germany, from other countries you have to use another area code) (It supports 300–14400 Baud). Or you can send it via the MausNet to Christoph Pagalies @ HH2 (Gateways to Fido, UUCP etc.)